package com.demo746_使用最小话费爬楼梯;

/**
 * 与 最普通的爬楼梯的方式基笨相同, 只是增加了一个爬楼梯的体力的耗费,  这样每次就需要取一下这个最小值~
 */
public class Solution {
    public int minCostClimbingStairs(int[] cost) {
        int[] dp = new int[cost.length + 1];
        // dp 数组的初始化,  dp[i] 代表的含义是这个: 到第i阶楼梯所需要话费的最少的体力
        dp[0]=0;
        dp[1]=0;
        for (int i = 2; i <=cost.length ; i++) {
            dp[i]=Math.min(dp[i-1]+cost[i-1],dp[i-2]+ cost[i-2]);
        }

        return dp[cost.length];
    }
}
